package com.dhb.pattern.strategy.pay;

/**
 * 功能描述：支付的不同渠道
 * 创建人：citymoon
 * 创建日期：2019/5/21
 */
public abstract class Payment {

    //支付类型
    public abstract String getName();

    //查询余额
    protected abstract double queryBalance(String uid);

    //扣款支付
    public PayState pay(String uid , double amount){
        if(queryBalance(uid) < amount){
            return new PayState(500,"支付失败","余额不足");
        }
        return new PayState(200,"支付成功","支付金额："+amount);
    }
}
